"""Django开发环境设置配置

LinkBook项目的开发环境配置文件。
"""

from .base import *
from decouple import config

# 调试模式
DEBUG = True

# 允许的主机
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '0.0.0.0']

# 开发环境数据库配置（使用SQLite便于开发）
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# CORS设置（开发环境允许所有来源）
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_CREDENTIALS = True

# 开发环境中间件（添加调试工具栏）
if DEBUG:
    try:
        import debug_toolbar
        INSTALLED_APPS += ['debug_toolbar']
        MIDDLEWARE = ['debug_toolbar.middleware.DebugToolbarMiddleware'] + MIDDLEWARE
        
        # Debug Toolbar配置
        INTERNAL_IPS = [
            '127.0.0.1',
            'localhost',
        ]
        
        DEBUG_TOOLBAR_CONFIG = {
            'SHOW_TOOLBAR_CALLBACK': lambda request: DEBUG,
        }
    except ImportError:
        # 如果debug_toolbar未安装，跳过配置
        pass

# 邮件配置（开发环境使用控制台后端）
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

# 静态文件服务（开发环境）
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'

# 日志级别（开发环境更详细）
LOGGING['loggers']['linkbook']['level'] = 'DEBUG'
LOGGING['handlers']['console']['level'] = 'DEBUG'

# 缓存配置（开发环境使用本地内存缓存）
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-snowflake',
    }
}

# 开发环境安全设置（较宽松）
SECURE_SSL_REDIRECT = False
SECURE_HSTS_SECONDS = 0
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_BROWSER_XSS_FILTER = False
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False

# JWT配置（开发环境token有效期更长）
SIMPLE_JWT.update({
    'ACCESS_TOKEN_LIFETIME': timedelta(days=30),  # 开发环境30天
    'REFRESH_TOKEN_LIFETIME': timedelta(days=30),  # 开发环境30天
})

# 文件上传配置
FILE_UPLOAD_MAX_MEMORY_SIZE = 10 * 1024 * 1024  # 10MB
DATA_UPLOAD_MAX_MEMORY_SIZE = 10 * 1024 * 1024  # 10MB